1. Field of the Invention
The present invention relates to a method and apparatus for providing enterprise solution on a portable device having a flash memory.
2. Discussion of the Related Art
Flash drives generally consist of a small sized printed circuit board encased in a robust plastic or metal casing, making the drive sturdy enough to be carried about in a pocket, as a key fob, or the like. Most flash drives feature a standard USB connection allowing them to be connected directly to a port on a personal computer or to a hub. Classic flash drives are used merely for storage purposes, supplying portable storage for music, documents or other static data files. However, flash drives adhering to a standard, such as U3 by U3 LLC, California, USA are sometimes called “smart drives” and provide more than storage. Smart drives differ from traditional flash drives since they include installed software with a launch pad, which emulates a desktop or a part thereof, such as a Windows operating system “start” menu, and enables the execution of various applications installed on the device. Applications adhering to a specific application design specification, such as the U3 standard can be packaged and applied to a smart drive. When such a device is connected to a personal computer or a hub, any of the installed applications can be executed directly from the launch pad of the device, without further installation on the host computer. Furthermore, the application will run seamlessly even if it was never installed on the host computer. A user can then use any of the pre-installed applications, and can practice reading, creating or saving data using the applications. The installed applications are not allowed to write to the registry nor to run services on the host computer. In the context of the disclosed invention, the term registry generally refers to a database of all configuration settings in the Microsoft Windows operating systems in all Windows NT based operating systems and also in home-based versions from Windows 95 onwards. The registry also contains all the data relevant to running services, wherein the term service generally refers to a background computer program in multitasking operating systems. Once the smart drive connected to a host computer is removed, all applications and data associated with the smart device and the applications launched there from are removed from the host computer without leaving any traces. Thus, if the application was not installed on the host computer prior to using the device, the application, including all related data remains uninstalled and unavailable to a user of the host computer after the device has been removed.
However, the proper execution of many applications depends among other things, on permissions to create or modify files or registry entries. If an application needs to modify areas for which administrator privileges are required, than such application will not function properly, if at all, when a user does not have such permissions. This inherently limits the type of applications that can be run from a smart drive, to applications that can be installed and run by a user having non-administrator privileges or permissions, such as personal productivity tools, personal communication tools, or other simple programs. Yet another limitation results from the requirement for timely responsiveness of the device. A typical user will not be willing to wait for a long installation of the application. Thus, only files associated with relatively small applications can be copied or installed on the host computer and run from there once a smart drive is connected to the computer. Other programs must be run directly from the device. If an application is to be run directly from the device, another problem presents itself, being addressing a specific file associated with the application. When a device is inserted into a computer, it can not be guaranteed the device will always be assigned the same disk letter (e.g. “F:”), even for the same device-computer combination. Moreover, file paths may be associated with the user's name or with other factors that may change according to circumstances. The changes impose a limitation on using file names, since any attempt to address a file via its full file path might result in an error and inoperability of the application. The combination of the above mentioned problems, being the user privileges, the time limitations on copying files to a local disk, and file paths, cause a serious problem to developers or users wishing to deploy a relatively large application, such as an enterprise solution from a smart drive. Many enterprise applications involve usage of databases, or otherwise require complex installation, which is typically performed by an administrator, having to provide multiple parameters and choose among multiple options. Such applications may also imply a long customization and assimilation process of the application within an organization. These requirements set a significant barrier on the deployment of such applications in small-to-medium businesses, and intimidate prospective users from trying such products.
There is therefore a need for a solution which will enable the immediate deployment of enterprise applications from a smart drive, thus eliminating the need of complex installations or administrator privileges. Such solution should decrease a user's time to value and total cost of ownership and thus increase the willingness of small-to-medium businesses to try and adopt enterprise solutions.